Date: Mon, 31 Jan 94 04:30:01 PST From: Advanced Amateur Radio Networking Group Errors-To: TCP-Group-Errors@UCSD.Edu Reply-To: TCP-Group@UCSD.Edu Precedence: Bulk Subject: TCP-Group Digest V94 #28 To: tcp-group-digest TCP-Group Digest Mon, 31 Jan 94 Volume 94 : Issue 28 Today's Topics: LINUX (2 msgs) param slottime & persist command - description? Some Questions About Basics TCP WIN - the modifications Unsubscribe Send Replies or notes for publication to: . Subscription requests to . Problems you can't solve otherwise to brian@ucsd.edu. Archives of past issues of the TCP-Group Digest are available (by FTP only) from UCSD.Edu in directory "mailarchives". We trust that readers are intelligent enough to realize that all text herein consists of personal comments and does not represent the official policies or positions of any party. Your mileage may vary. So there. ---------------------------------------------------------------------- Date: Sun, 30 Jan 1994 15:47:08 EET-2EEST From: "Markus Lamminmaki OH6LSA" Subject: LINUX To: tcp-group@ucsd.edu > I hope someone will come along with a public anonymous guest >source for Linux. ftp.funet.fi has Linux available by anonymous ftp. Try to have a look in /pub/OS/Linux you will find all that you want from there to get Linux upp and runing. --- Vasa Polytechnic Email: markus@technis.vtyh.fi PB 6, SF-65201, FINLAND postmaster@vtyh.fi Fax: +358-61-3230 610 PS: Please, someone, make X.400 go away! Work:+358-61-3230 661 Home: +358-61-3171 466 Looks great on the outside, but Intel inside. ------------------------------ Date: Sun, 30 Jan 1994 10:37:48 -0500 From: "Brandon S. Allbery" Subject: LINUX To: tcp-group@ucsd.edu In your message of Sun, 30 Jan 1994 15:47:08 +0700, you write: +--------------- | > I hope someone will come along with a public anonymous guest | >source for Linux. | | ftp.funet.fi has Linux available by anonymous ftp. Try to have a look | in /pub/OS/Linux you will find all that you want from there to get | Linux upp and runing. +------------->8 Also tsx-11.mit.edu and sunsite.unc.edu in the U.S. (some of the distributions are a bit large for overseas FTP :-) There are also dial-up bulletin boards which carry Linux; the list is posted to comp.os.linux.announce once a month. I'd include it but it has expired here. ++Brandon -- Brandon S. Allbery kf8nh@kf8nh.ampr.org bsa@kf8nh.wariat.org "MSDOS didn't get as bad as it is overnight -- it took over ten years of careful development." ---dmeggins@aix1.uottawa.ca ------------------------------ Date: Mon, 31 Jan 1994 03:24:45 +1030 (CST) From: gwillis@eleceng.adelaide.edu.au Subject: param slottime & persist command - description? To: tcp-group@ucsd.edu Hello. I have been trying to find an accurate consise description of exactly what the function of the 'persist' and 'slottime' functions are that are set using the param command in NOS and how these parameters affect radio channel performance. My understanding is that they are a replacement for DWAIT which is found in many TNC software EPROMS. Could somebody point me in the direction of a document or file that describes this function? Also which layer of the OSI protocol stack do these functions belong to? (I am guessing level 1?) Also I am interested to find out if there is any implementation of the T2 timer described in the AX.25 v2.0 protcol specification in the NOS package for AX.25 connections or IP virtual circuits carried on AX.25? (This parameter is the equivalent of what in the popular TNCs is seemingly called RESPTIME). Cheers de Grant VK5ZWI -- Grant Willis - Adelaide, South Australia | Around here, talking to Internet: gwillis@eleceng.adelaide.edu.au | yourself is a sign of Sanity! Packet Radio: VK5ZWI@VK5TTY.#ADL.#SA.AUS.OC +------------------------------ Disclaimer: Thoughts expressed here are not those of any organisation. ------------------------------ Date: Sun, 30 Jan 1994 22:03:24 -0500 (EST) From: John Stewart Subject: Some Questions About Basics To: tcp-group@ucsd.edu I am trying to understand what interrupt buffers are used for in NOS? Are they used on both transmit and receive? Given that ibufsize should be greater than or equal to MTU, does the TCP WINDOW setting have an effect on the number of buffers that you need? Does the transmit queue length on the ATTACH PACKET statement have an effect on the number of buffers that you need? I have read the NOS documentation and some other references, but am still missing part of the story. Can someone enlighten me? Thanks. John, n4qi Internet: jstewart@umiami.ir.miami.edu AmprNet: n4qi@n4qi.ampr.org ------------------------------ Date: Mon, 31 Jan 94 10:06:21 GMT From: A.D.S.Benham@bnr.co.uk Subject: TCP WIN - the modifications To: TCP-Group@UCSD.Edu Here (somewhat later than promised - humble apologies) are the modifications needed to get a "per interface" TCP window. Whilst putting the TCP window modifications in, you might like to put in another of my modifications, which allows for different AX.25 beacon text on different interfaces. ================== File: IFACE.H 1). Add two new variables to struct iface definition was: .... int16 mtu; /* Maximum transmission unit size */ int16 paclen; /* AX.25 paclen, if applicable */ int32 flags; /* Configuration flags */ .... now: .... int16 mtu; /* Maximum transmission unit size */ int16 window; /* TCP window G8FSL */ int16 paclen; /* AX.25 paclen, if applicable */ char *beacontext; /* AX.25 beacon text, if applicable G8FSL */ int32 flags; /* Configuration flags */ .... ================= File: IFACE.C 1). Add new #include: #include "tcp.h" 2). Add two function protypes: static int ifbeacon __ARGS((int argc,char *argv[],void *p)); /* G8FSL */ static int ifwindow __ARGS((int argc,char *argv[],void *p)); /* G8FSL */ 3). Add extra variables in definitions of "struct iface loopback" and "struct iface Encap" (changes are identical): were: .... MAXINT16, /* mtu No limit */ 0, /* AX.25 paclen, if applicable */ 0, /* flags */ .... now: .... MAXINT16, /* mtu No limit */ 0, /* window G8FSL */ 0, /* AX.25 paclen, if applicable */ NULLCHAR, /* AX.25 beacontext G8FSL */ 0, /* flags */ .... 4). Add two entries in struct cmds Ifcmds[] (at the appropriate places to be in alphabetical order): #ifdef AX25 "beacontext", ifbeacon, 0, 0, NULLCHAR, #endif "window", ifwindow, 0, 2, NULLCHAR, 5). Add line in function setencap(): was: ifp->iftype = ift; ifp->send = ift->send; now: ifp->iftype = ift; ifp->window = 0; /* G8FSL */ ifp->send = ift->send; 6). Modify display routine in function showiface(): tprintf("%-10s IP addr %s MTU %u Window %u Link encap ",ifp->name, inet_ntoa(ifp->addr),(int)ifp->mtu, ifp->window ? ifp->window : Tcp_window); /* G8FSL */ 7). Add more display information in function showiface(): was: if(ifp->iftype->type == CL_AX25) tprintf(" BBS Call %s Paclen %d\n", (*ifp->iftype->format)(tmp,ifp->bbscall), (int)ifp->paclen); now: if(ifp->iftype->type == CL_AX25) { tprintf(" BBS Call %s Paclen %d\n", (*ifp->iftype->format)(tmp,ifp->bbscall), (int)ifp->paclen); if (ifp->beacontext != NULLCHAR) tprintf(" Beacon: %s\n", ifp->beacontext); /* G8FSL */ } 8). Add two new functions: #ifdef AX25 /* Set beacon text - G8FSL */ static int ifbeacon(argc,argv,p) int argc; char *argv[]; void *p; { struct iface *ifp = p; if(ifp->iftype->type == CL_AX25){ if(ifp->descr != NULLCHAR){ free(ifp->beacontext); ifp->beacontext = NULLCHAR; /* reset the pointer */ } if(!strlen(argv[1])) return 0; /* clearing the buffer */ ifp->beacontext = malloc(strlen(argv[1])+1); strcpy(ifp->beacontext, argv[1]); } return 0; } #endif /* AX25 */ /* Set interface TCP window - G8FSL */ static int ifwindow(argc,argv,p) int argc; char *argv[]; void *p; { struct iface *ifp = p; ifp->window = atoi(argv[1]); return 0; } =========== File TCPIN.C: 1). Add an extra parameter to declaration of function proc_syn(): static void proc_syn __ARGS((struct tcb *tcb,char tos,struct tcp *seg, struct iface *iface)); /* G8FSL */ 2). proc_syn() is called in two places. Add the new parameter in both cases: proc_syn(tcb,ip->tos,&seg,iface); 3). Add the extra parameter to definition of proc_syn: /* Process an incoming SYN */ static void proc_syn(tcb,tos,seg,iface) /* G8FSL */ register struct tcb *tcb; char tos; struct tcp *seg; struct iface *iface; /* G8FSL */ 4). Put window setting code in proc_syn(): was: if((mtu = ip_mtu(tcb->conn.remote.address)) != 0){ /* Allow space for the TCP and IP headers */ mtu -= TCPLEN + IPLEN; tcb->cwind = tcb->mss = min(mtu,tcb->mss); } /* See if there's round-trip time experience */ now: if((mtu = ip_mtu(tcb->conn.remote.address)) != 0){ /* Allow space for the TCP and IP headers */ mtu -= TCPLEN + IPLEN; tcb->cwind = tcb->mss = min(mtu,tcb->mss); } /* Alter the receive window according to the interface G8FSL*/ if (iface->window != 0) tcb->window = tcb->rcv.wnd = iface->window; else tcb->window = tcb->rcv.wnd = Tcp_window; /* See if there's round-trip time experience */ ================= File AX25CMD.C 1). Modify function ax_bc(): static void ax_bc(axif) struct iface *axif; { struct mbuf *hbp; int i; char *beacontxtp; /* G8FSL */ /* prepare the header */ if (axif->beacontext != NULLCHAR) /* G8FSL */ beacontxtp = axif->beacontext; else beacontxtp = axbctext; i = strlen(beacontxtp); if((hbp = alloc_mbuf(i)) == NULLBUF) return; hbp->cnt = i; memcpy(hbp->data,beacontxtp,i); (*axif->output)(axif, Ax25multi[IDCALL], axif->hwaddr, PID_NO_L3, hbp); /* send it */ /* ** Call another function to reset the timer... reset_bc_timer(); */ } =============== I =believe= this is an exhaustive list of the modifications I made. It's always possible I've missed something, so please let me know if there are problems. GENERAL NOTE - THIS APPLIES TO ALL USERS OF ALL NOS VERSIONS: The TCP and IP parameters should =always= be set in the AUTOEXEC.NOS (or similar) file BEFORE any "start" commands are used to start the servers. If this is NOT done, then the servers take the default parameters hard-coded into NOS and the TCP and IP parameters set by the user only have effect on sessions initiated by the user. 73, Andrew Benham G8FSL -------------------------------------------------------------------- adsb@bnr.co.uk BNR Europe Ltd, London Road, Harlow, Essex CM17 9NA adsb@bnr.ca +44 279 402372 Fax: +44 279 402029 Home: g8fsl@g8fsl.ampr.org [44.131.19.165] -------------------------------------------------------------------- ------------------------------ Date: Mon, 31 Jan 94 06:32:22 GMT From: ian@g3nrw.demon.co.uk (Ian Wade) Subject: Unsubscribe To: tcp-group@ucsd.edu Unsubscribe +---------------------------------+----------------------------------------+ | Ian Wade | e-mail: ian @ g3nrw.demon.co.uk | | 7 Daubeney Close, Harlington, | AMPRnet: g3nrw.ampr.org [44.131.5.147] | | Dunstable, Beds, LU5 6NF, UK. | AX.25: G3NRW @ GB7BIL.#27.GBR.EU | +---------------------------------+----------------------------------------+ ------------------------------ Date: Mon, 31 Jan 1994 16:34:34 +1100 From: janj@acci.com.au (Jan Jaeger) To: deyke@fc.hp.com, tcp-group@ucsd.edu Subject: Wampes on IBM/RT (AOS) Hi Dieter, I am finished with my port of wampes to the IBM RT running AOS. It basically consists of two parts, a tar file which creates an extra subdirectory called 'aos' which consist of a few library functions that are used by wampes, but are not supplied by AOS. Most of these are a quick port from FreeBSD. The second part is a patchfile for the rest of wampes, it will make all the nessesary updates to the source. All AOS specific updates are ifdef'ed. I have in fact tried to recompile the whole lot on AIX V3 (RS6K) and it still works with all the AOS patches on. There is one place where I have made a mod to the wampes code, and that is in n8250.c where it allows for a device to be a tcp/ip socket. I have added some code that it will also listen on the port given, so that it can act as primary as well as secondary. It is also fair to say that I have not put much efford into ttydriv.c it contains quite a few device specific things, and I have not implemented all of those for the ibm6153 terminal. I do not know how many people in the field would use an ibm6153. What is required on the IBM RT is: 1) AOS 2) patchkit for AOS as available on various internet ftp sites 3) gnu make 4) gnu patch 5) gnu gcc (2.5.7) 6) one line 'uname' shell script that echo's AOS 7) ksh (for the configure script) I have stored my updates on ftp.acci.com.au:/pub/aos, and will also upload them to ucsd.edu:/incoming. The files are: wampes-ibm032.patch.gz -- patch file wampes-ibm032.tar.gz -- aos library All the patches are based on wampes-931106 and should be applied as following: mkdir wampes cd wampes tar -xf /tmp/wampes-931106.tar tar -xf /tmp/wampes-ibm032.tar patch -p1 < /tmp/wampes-ibm032.patch make Thats all. Regards, Jan Jaeger PA3EFU/VK3CEX. (janj@acci.com.au) ------------------------------ End of TCP-Group Digest V94 #28 ******************************